﻿using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace TheFugitive
{
    /// <summary>
    /// Jason | 120526
    /// 타일과 객체의 충돌속성 정의
    /// </summary>
    enum TileCollision
    {
        /// <summary>
        /// 캐릭터가 통과할 수 있음
        /// </summary>
        Passable = 0,

        /// <summary>
        /// 캐릭터가 통과할 수 없음
        /// </summary>
        Impassable = 1,

        /// <summary>
        /// 캐릭터는 점프하여 위쪽 타일을 통과 할 수 없으나 아래로 내려가는 것을 가능함
        /// </summary>
        Platform = 2,
    }

    /// <summary>
    /// Jason | 120526
    /// 타일생성 및 충돌감지에 필요한 속성, 구조체임에 주의
    /// </summary>
    struct Tile
    {
        public Texture2D Texture;
        public TileCollision Collision;

        public const int Width = 20;
        public const int Height = 20;

        public static readonly Vector2 Size = new Vector2(Width, Height);

        /// <summary>
        /// 새로운 타일의 생성
        /// </summary>
        public Tile(Texture2D texture, TileCollision collision)
        {
            Texture = texture;
            Collision = collision;
        }
    }
}